﻿using System;
using System.Data.Entity.Infrastructure;
using System.Linq;

namespace ComputerVision.Data.Repositories
{
    public interface IEntityRepository<T> where T : class
    {
        void CommitChanges();
        void DeleteOnCommit(T entity);
        T Get(int key);
        IQueryable<T> GetAll();
        T InsertOnCommit(T entity);
        T Get(Guid key);
        T Get(string key);
        T GetByMaxValue(string keyField, string maxField, string table, string key);
        DbSqlQuery<T> SqlManual(string sql);
    }
}